package com.foodcommunity.service;

import com.foodcommunity.common.Result;
import com.foodcommunity.dto.CommentDTO;
import com.foodcommunity.entity.Comment;

import java.util.List;

public interface CommentService {
    /**
     * 添加评论
     */
    Result<Comment> addComment(CommentDTO commentDTO, Long userId);
    
    /**
     * 删除评论
     */
    Result<Void> deleteComment(Long id, Long userId);
    
    /**
     * 获取帖子评论列表
     */
    List<Comment> getPostComments(Long postId);
    
    /**
     * 获取评论详情
     */
    Result<Comment> getCommentDetail(Long id);
    
    /**
     * 获取子评论列表
     */
    List<Comment> getChildComments(Long parentId);
    
    /**
     * 分页获取帖子评论
     */
    List<Comment> getPostCommentsWithPage(Long postId, int page, int size);
    
    /**
     * 获取帖子评论数量
     */
    int getPostCommentCount(Long postId);
    
    /**
     * 获取用户的评论列表
     */
    List<Comment> getUserComments(Long userId);
} 